local voucherId = ARGV[1]

local userId = ARGV[2]

local stockKey = 'seckillVoucher:stock:' .. voucherId
local orderKey = 'seckillVoucher:order:' .. voucherId
-- 存放库存
-- 存放一人一单


if (tonumber(redis.call("get", stockKey)) <= 0) then
    -- 库存不足
    return 1
end
-- 判断用户是否已经购买过


if (redis.call("SISMEMBER", orderKey, userId) == 1) then
    -- 已经领取过
    return 2
end

-- 扣库存
redis.call("INCRBY", stockKey, -1)

-- 下单（保存用户）
redis.call("sadd", orderKey, userId)
return 0

